<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>11 对象的字面量方式创建</title>
	</head>
	<body>
		<script type="text/javascript">
			// 1.对象字面量
				// (1) new构造函数
				/* var obj = new Object();
				obj.name = '小猿';
				console.log(obj); */
				
				// (2)对象字面量 (语法糖)
				var person1 = {
					name:"MJJ",
					age:29
				}
				var person2 = {
					name:"MJJ",
					age:29
				}
				var person3 = {
					name:"MJJ",
					age:29
				}
				var person4 = {
					name:"MJJ",
					age:29
				}
				console.log(person);
				console.log(person.name);
				
				// 需求：从一个实例对象生成另一个实例对象 *******
				// (3)Object.create(对象)
				// create()中的参数a作为返回实例对象b的的原型对象,在a中定义的属性方法,都能被b实例对象继承下来
				var a = {
					getX:function(){
						console.log('X');
					}
				}
				
				var b = Object.create(a);
				b.getX();
				
			// 2.工厂模式
			// 3.构造函数模式
					// 3.1构造函数拓展模式
					// 3.2寄生构造函数模式
					// 3.3稳妥构造函数模式
			// 4.原型模式
			// 5.组合模式
				// 动态原型模式
			
		</script>
	</body>
</html>
